package abd.pr1.Mappers;

import java.sql.ResultSet;
import java.sql.SQLException;

import javax.sql.DataSource;

import abd.pr1.Models.Seguidor;
import abd.pr1.Models.SerieGenero;
import abd.pr1.Models.UsuarioEpisodio;

public class UsuariosEpisodiosMapper extends AbstractMapper<UsuarioEpisodio, ClaveUsuarioEpisodio>{

	private static final String[] USUARIOSEPISODIOS_KEY_COLUMN_NAMES = new String[] { "id_usuario" ,"id_episodio"};
	private static final String[] USUARIOSEPISODIOS_COLUMN_NAMES = new String[] { "id_usuario","id_episodio"};
	private static final String USUARIOSEPISODIOS_TABLE_NAME = "usuarios_episodios";
	
	public UsuariosEpisodiosMapper(DataSource ds) {
		super(ds);
		// TODO Auto-generated constructor stub
	}

	@Override
	protected String getTableName() {
		return USUARIOSEPISODIOS_TABLE_NAME;
	}

	@Override
	protected String[] getColumnNames() {
		// TODO Auto-generated method stub
		return USUARIOSEPISODIOS_COLUMN_NAMES;
	}

	@Override
	protected Object[] serializeObject(UsuarioEpisodio object) {
		// TODO Auto-generated method stub
		return new Object[] { object.getIdUsuario(),object.getIdEpisodio()};
	}

	@Override
	protected String[] getKeyColumnNames() {
		// TODO Auto-generated method stub
		return USUARIOSEPISODIOS_KEY_COLUMN_NAMES;
	}

	@Override
	protected Object[] serializeKey(ClaveUsuarioEpisodio key) {
		// TODO Auto-generated method stub
		return new Object[] { key.getId_usuario(),key.getId_episodio() };
	}

	@Override
	protected UsuarioEpisodio buildObject(ResultSet rs) throws SQLException {
		Integer id_usuario = rs.getInt("id_usuario");
		Integer id_episodio = rs.getInt("id_episodio");
		
		return new UsuarioEpisodio(id_usuario, id_episodio);
	}

	@Override
	protected ClaveUsuarioEpisodio getKey(UsuarioEpisodio object) {
		// TODO Auto-generated method stub
		return new ClaveUsuarioEpisodio(object.getIdUsuario(), object.getIdEpisodio());
	}

	@Override
	protected boolean hasAutoincrementKey() {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	void updateKeys(ResultSet rs, UsuarioEpisodio object) throws SQLException {
		// TODO Auto-generated method stub
		
	}

}
